home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 October: Mac OS SDK / Dev.CD Oct 97 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / CIncludes / DiskInit.h < prev    next >
Encoding:
C/C++ Source or Header  |  1997-08-12  |  3.3 KB  |  138 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        DiskInit.h
  3.  
  4.      Contains:    Disk Initialization Package ('PACK' 2) Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1985-1997, 1997 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __DISKINIT__
  19. #define __DISKINIT__
  20.  
  21. #ifndef __TYPES__
  22. #include <Types.h>
  23. #endif
  24.  
  25.  
  26.  
  27. #if PRAGMA_ONCE
  28. #pragma once
  29. #endif
  30.  
  31. #ifdef __cplusplus
  32. extern "C" {
  33. #endif
  34.  
  35. #if PRAGMA_IMPORT
  36. #pragma import on
  37. #endif
  38.  
  39. #if PRAGMA_STRUCT_ALIGN
  40.     #pragma options align=mac68k
  41. #elif PRAGMA_STRUCT_PACKPUSH
  42.     #pragma pack(push, 2)
  43. #elif PRAGMA_STRUCT_PACK
  44.     #pragma pack(2)
  45. #endif
  46.  
  47. struct HFSDefaults {
  48.     char                             sigWord[2];                    /* signature word */
  49.     long                             abSize;                        /* allocation block size in bytes */
  50.     long                             clpSize;                    /* clump size in bytes */
  51.     long                             nxFreeFN;                    /* next free file number */
  52.     long                             btClpSize;                    /* B-Tree clump size in bytes */
  53.     short                             rsrv1;                        /* reserved */
  54.     short                             rsrv2;                        /* reserved */
  55.     short                             rsrv3;                        /* reserved */
  56. };
  57. typedef struct HFSDefaults HFSDefaults;
  58.  
  59. EXTERN_API( void )
  60. DILoad                            (void)                                                        THREEWORDINLINE(0x7002, 0x3F00, 0xA9E9);
  61.  
  62. EXTERN_API( void )
  63. DIUnload                        (void)                                                        THREEWORDINLINE(0x7004, 0x3F00, 0xA9E9);
  64.  
  65. EXTERN_API( short )
  66. DIBadMount                        (Point                     where,
  67.                                  long                     evtMessage)                            THREEWORDINLINE(0x7000, 0x3F00, 0xA9E9);
  68.  
  69. EXTERN_API( OSErr )
  70. DIFormat                        (short                     drvNum)                                THREEWORDINLINE(0x7006, 0x3F00, 0xA9E9);
  71.  
  72. EXTERN_API( OSErr )
  73. DIVerify                        (short                     drvNum)                                THREEWORDINLINE(0x7008, 0x3F00, 0xA9E9);
  74.  
  75. EXTERN_API( OSErr )
  76. DIZero                            (short                     drvNum,
  77.                                  ConstStr255Param         volName)                            THREEWORDINLINE(0x700A, 0x3F00, 0xA9E9);
  78.  
  79. /*
  80.     DIXFormat, DIXZero, and DIReformat are only available when FSM (File System Manager) is installed.
  81.     FSM is part of Macintosh PC Exchange and System 7.5.
  82. */
  83. EXTERN_API( OSErr )
  84. DIXFormat                        (short                     drvNum,
  85.                                  Boolean                 fmtFlag,
  86.                                  unsigned long             fmtArg,
  87.                                  unsigned long *        actSize)                            THREEWORDINLINE(0x700C, 0x3F00, 0xA9E9);
  88.  
  89. EXTERN_API( OSErr )
  90. DIXZero                            (short                     drvNum,
  91.                                  ConstStr255Param         volName,
  92.                                  short                     fsid,
  93.                                  short                     mediaStatus,
  94.                                  short                     volTypeSelector,
  95.                                  unsigned long             volSize,
  96.                                  void *                    extendedInfoPtr)                    THREEWORDINLINE(0x700E, 0x3F00, 0xA9E9);
  97.  
  98. EXTERN_API( OSErr )
  99. DIReformat                        (short                     drvNum,
  100.                                  short                     fsid,
  101.                                  ConstStr255Param         volName,
  102.                                  ConstStr255Param         msgText)                            THREEWORDINLINE(0x7010, 0x3F00, 0xA9E9);
  103.  
  104.  
  105. #if CGLUESUPPORTED
  106. EXTERN_API_C( OSErr )
  107. dibadmount                        (Point *                where,
  108.                                  long                     evtMessage);
  109.  
  110. EXTERN_API_C( OSErr )
  111. dizero                            (short                     drvnum,
  112.                                  const char *            volName);
  113.  
  114. #endif  /* CGLUESUPPORTED */
  115.  
  116.  
  117.  
  118. #if PRAGMA_STRUCT_ALIGN
  119.     #pragma options align=reset
  120. #elif PRAGMA_STRUCT_PACKPUSH
  121.     #pragma pack(pop)
  122. #elif PRAGMA_STRUCT_PACK
  123.     #pragma pack()
  124. #endif
  125.  
  126. #ifdef PRAGMA_IMPORT_OFF
  127. #pragma import off
  128. #elif PRAGMA_IMPORT
  129. #pragma import reset
  130. #endif
  131.  
  132. #ifdef __cplusplus
  133. }
  134. #endif
  135.  
  136. #endif /* __DISKINIT__ */
  137.  
  138.